package com.yfp.org.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 *
 * @version 1.0
 * @date 2024-08-02 14:00
 */
@Data
@Tag(name = "退款订单导出实体类")
public class RefundDerive {
    /**
     * 退款单号
     */
    @Schema(title = "退款单号")
    @Excel(name = "退款编号", needMerge = true, sort = 1)
    private String refundSn;

    /**
     * 订单编号
     */
    @Schema(title = "订单编号")
    @Excel(name = "订单编号", needMerge = true, sort = 2)
    private String orderSn;

    /**
     * 下单用户
     */
    @Schema(title = "下单用户")
    @Excel(name = "用户名称", needMerge = true, sort = 3)
    private String userName;

    /**
     * 用户联系方式
     */
    @Schema(title = "用户联系方式")
    @Excel(name = "用户联系方式", needMerge = true, sort = 4)
    private String userMobile;

    /**
     * 套餐名称
     */
    @Schema(title = "套餐名称")
    @Excel(name = "餐品名称", needMerge = true, sort = 5)
    private String comboName;

    /**
     * 退款金额
     */
    @Schema(title = "退款金额")
    @Excel(name = "退款金额(元)", needMerge = true, sort = 6 , cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal refundAmt;

    /**
     * 退款原因
     */
    @Schema(title = "退款原因")
    @Excel(name = "退款原因", needMerge = true, sort = 7)
    private String refundReason;

    /**
     * 退款申请时间
     */
    @Schema(title = "申请时间")
    @Excel(name = "申请时间", needMerge = true, sort = 8,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundForTime;


    // 处理时间


    /**
     * 订单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(title = "订单时间")
    @Excel(name = "下单时间", needMerge = true, sort = 10,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderTime;

    /**
     * 设备id
     */
    @Schema(title = "设备id")
    @Excel(name = "设备编号", needMerge = true, sort = 11)
    private String machineId;

    /**
     * 设备名称
     */
    @Schema(title = "设备名称")
    @Excel(name = "设备名称", needMerge = true, sort = 12)
    private String machineName;

    /**
     * 点位名称
     */
    @Schema(title = "点位名称")
    @Excel(name = "点位名称", needMerge = true, sort = 13)
    private String positionName;

    /**
     * 处理时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(title = "处理时间")
    @Excel(name = "处理时间", needMerge = true, sort = 9,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;


}
